package org.lboot.flow.custom.eda.node;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.lboot.flow.custom.eda.node.domain.NodeAssign;

import java.util.List;

/**
 * @author kindear
 * 任务节点配置
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "任务节点配置")
public class TaskNodeConfig extends NodeConfig{

    @ApiModelProperty(value = "指派列表")
    List<NodeAssign> assignees;

    @ApiModelProperty(value = "审批模式")
    String performType;

    @ApiModelProperty(value = "自定义通过规则")
    private String customPassRule;

    // 自定义拒绝判断规则
    @ApiModelProperty(value = "自定义拒绝规则")
    private String customRejectRule;

    /**
     * 期望完成时间（产生的任务期望啥时间完成）
     */
    @ApiModelProperty(value = "期望完成时间")
    private Integer expireTime;

    /**
     * 是否自动执行（如任务未处理且到期，是否自动执行）
     */
    @ApiModelProperty(value = "自动执行")
    private Boolean autoExecute;

    /**
     * 允许加签
     */
    @ApiModelProperty(value = "允许加签")
    private Boolean enableAdd;

    /**
     * 允许回退操作
     */
    @ApiModelProperty(value = "允许回退")
    private Boolean enableBack;
}
